package com.ahora.org.ejb.jpa.beans;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

public class BandejaDTO implements Serializable, Comparable<BandejaDTO>{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	//Bandeja de Entrada
	private String descripcionEstado;//----------------------
	private String nombreRemitente;//----------------------
	private String descripcionArea;//----------------------
	private String tipoDocumento; //----------------------
	private String fechaRegistro; //----------------------
	private String fechaFin;//----------------------
	
	private String nombreProceso;//----------------------
	private String nombrePersona;//----------------------
	private String descripcionDocumentoInterno;
	private String codigoDocumento;//----------------------
	private String observacion;
	private int idDocumentoMovimiento;
	private Integer iddocumento;
	private int identity;
	private int idProceso;
	private String nombreSiguienteAreaEncargada;
	
	private int idUsuarioRemitente;
	private int idUsuarioDestino;
	private String nombreDestinatario;
	//Para el calculo de tiempo de demora de cada usuario
	private Date tmpFechaIni;
	private int cantidadDiasProceso;
	private int resultadoDias;
	private int duracionSubUnidadOrganica;
	private String fechaFin_SubUnidadOrganica;
	private String decisionPorcentual;
	private String imagenSemaforo;
	private int idExpediente;
	//Se crea un Integer para saber si el documento fue rechazado o desaprobado, se aplcia
	//para firma digital, informe tecnico, y no se que mas :D
	private int estadoAprobacion;
	
	public int getEstadoAprobacion() {
		return estadoAprobacion;
	}

	public void setEstadoAprobacion(int estadoAprobacion) {
		this.estadoAprobacion = estadoAprobacion;
	}

	public BandejaDTO() {

	}

	public int getIdExpediente() {
		return idExpediente;
	}

	public void setIdExpediente(int idExpediente) {
		this.idExpediente = idExpediente;
	}

	public String getImagenSemaforo() {
		return imagenSemaforo;
	}

	public void setImagenSemaforo(String imagenSemaforo) {
		this.imagenSemaforo = imagenSemaforo;
	}

	public String getDecisionPorcentual() {
		return decisionPorcentual;
	}

	public void setDecisionPorcentual(String decisionPorcentual) {
		this.decisionPorcentual = decisionPorcentual;
	}

	public String getFechaFin_SubUnidadOrganica() {
		return fechaFin_SubUnidadOrganica;
	}

	public void setFechaFin_SubUnidadOrganica(String fechaFin_SubUnidadOrganica) {
		this.fechaFin_SubUnidadOrganica = fechaFin_SubUnidadOrganica;
	}



	public int getDuracionSubUnidadOrganica() {
		return duracionSubUnidadOrganica;
	}

	public void setDuracionSubUnidadOrganica(int duracionSubUnidadOrganica) {
		this.duracionSubUnidadOrganica = duracionSubUnidadOrganica;
	}

	public String getNombreSiguienteAreaEncargada() {
		return nombreSiguienteAreaEncargada;
	}

	public void setNombreSiguienteAreaEncargada(String nombreSiguienteAreaEncargada) {
		this.nombreSiguienteAreaEncargada = nombreSiguienteAreaEncargada;
	}

	public String getNombreProceso() {
		return nombreProceso;
	}

	public void setNombreProceso(String nombreProceso) {
		this.nombreProceso = nombreProceso;
	}

	public String getNombrePersona() {
		return nombrePersona;
	}

	public void setNombrePersona(String nombrePersona) {
		this.nombrePersona = nombrePersona;
	}

	public int getCantidadDiasProceso() {
		return cantidadDiasProceso;
	}

	public int getResultadoDias() {
		return resultadoDias;
	}

	public void setResultadoDias(int resultadoDias) {
		this.resultadoDias = resultadoDias;
	}

	public void setCantidadDiasProceso(int cantidadDiasProceso) {
		this.cantidadDiasProceso = cantidadDiasProceso;
	}

	public Date getTmpFechaIni() {
		return tmpFechaIni;
	}

	public void setTmpFechaIni(Date tmpFechaIni) {
		this.tmpFechaIni = tmpFechaIni;
	}

	public int getIdUsuarioRemitente() {
		return idUsuarioRemitente;
	}

	public void setIdUsuarioRemitente(int idUsuarioRemitente) {
		this.idUsuarioRemitente = idUsuarioRemitente;
	}

	public int getIdUsuarioDestino() {
		return idUsuarioDestino;
	}

	public void setIdUsuarioDestino(int idUsuarioDestino) {
		this.idUsuarioDestino = idUsuarioDestino;
	}

	public int getIdProceso() {
		return idProceso;
	}

	public String getNombreDestinatario() {
		return nombreDestinatario;
	}

	public void setNombreDestinatario(String nombreDestinatario) {
		this.nombreDestinatario = nombreDestinatario;
	}

	public void setIdProceso(int idProceso) {
		this.idProceso = idProceso;
	}

	public int getIdentity() {
		return identity;
	}

	public void setIdentity(int identity) {
		this.identity = identity;
	}

	
	
	public int getIdDocumentoMovimiento() {
		return idDocumentoMovimiento;
	}

	public void setIdDocumentoMovimiento(int idDocumentoMovimiento) {
		this.idDocumentoMovimiento = idDocumentoMovimiento;
	}

	public Integer getIddocumento() {
		return iddocumento;
	}

	public void setIddocumento(Integer iddocumento) {
		this.iddocumento = iddocumento;
	}

	

	public String getFechaFin() {
		return fechaFin;
	}

	public void setFechaFin(String fechaFin) {
		this.fechaFin = fechaFin;
	}

	public String getTipoDocumento() {
		return tipoDocumento;
	}

	public void setTipoDocumento(String tipoDocumento) {
		this.tipoDocumento = tipoDocumento;
	}

	public String getDescripcionDocumentoInterno() {
		return descripcionDocumentoInterno;
	}

	public void setDescripcionDocumentoInterno(String descripcionDocumentoInterno) {
		this.descripcionDocumentoInterno = descripcionDocumentoInterno;
	}

	public String getCodigoDocumento() {
		return codigoDocumento;
	}

	public void setCodigoDocumento(String codigoDocumento) {
		this.codigoDocumento = codigoDocumento;
	}

	public String getFechaRegistro() {
		return fechaRegistro;
	}

	public void setFechaRegistro(String fechaRegistro) {
		this.fechaRegistro = fechaRegistro;
	}

	public String getObservacion() {
		return observacion;
	}

	public void setObservacion(String observacion) {
		this.observacion = observacion;
	}

	public String getDescripcionEstado() {
		return descripcionEstado;
	}

	public void setDescripcionEstado(String descripcionEstado) {
		this.descripcionEstado = descripcionEstado;
	}

	public String getNombreRemitente() {
		return nombreRemitente;
	}

	public void setNombreRemitente(String nombreRemitente) {
		this.nombreRemitente = nombreRemitente;
	}

	public String getDescripcionArea() {
		return descripcionArea;
	}

	public void setDescripcionArea(String descripcionArea) {
		this.descripcionArea = descripcionArea;
	}

	@Override
	public int compareTo(BandejaDTO o) {
		return this.decisionPorcentual.compareTo(o.getDecisionPorcentual());
	}

	//sigo agregando mas variables ^^ para la cinta
	private List<CintaDTO> listaCinta;
	private int idTipoAccion;
	
	
	
	public int getIdTipoAccion() {
		if(listaCinta==null || listaCinta.isEmpty()){
			return idTipoAccion;
		}else{
			for (CintaDTO c : listaCinta) {
				if(c.getIdArea()==c.getIdAreaActual()){
					idTipoAccion = c.getIdAccion();
					break;
				}
			}
		}
		
		return idTipoAccion;
	}

	public void setIdTipoAccion(int idTipoAccion) {
		this.idTipoAccion = idTipoAccion;
	}

	public List<CintaDTO> getListaCinta() {
		return listaCinta;
	}

	public void setListaCinta(List<CintaDTO> listaCinta) {
		this.listaCinta = listaCinta;
	}
	
	private List<DocumentoInternoDTO> listaDocumentosAdjuntados;
	
	public List<DocumentoInternoDTO> getListaDocumentosAdjuntados() {
		return listaDocumentosAdjuntados;
	}

	public void setListaDocumentosAdjuntados(
			List<DocumentoInternoDTO> listaDocumentosAdjuntados) {
		this.listaDocumentosAdjuntados = listaDocumentosAdjuntados;
	}
	
}
